<!DOCTYPE html>
<html lang="zh-CN">





<head>
  <meta charset="UTF-8">
  <link rel="apple-touch-icon" sizes="76x76" href="/michuanblog/img/favicon.png">
  <link rel="icon" type="image/png" href="/michuanblog/img/favicon.png">
  <meta name="viewport"
        content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  
  <meta name="theme-color" content="#2f4154">
  <meta name="description" content="Coding">
  <meta name="author" content="胡晗">
  <meta name="keywords" content="">
  <title>胡晗&#39;s Blog</title>

  <link  rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.4.1/css/bootstrap.min.css" />



<!-- 主题依赖的图标库，不要自行修改 -->

<link rel="stylesheet" href="//at.alicdn.com/t/font_1749284_yg9cfy8wd6.css">



<link rel="stylesheet" href="//at.alicdn.com/t/font_1736178_pjno9b9zyxs.css">


<link  rel="stylesheet" href="/michuanblog/css/main.css" />

<!-- 自定义样式保持在最底部 -->


  <script  src="/michuanblog/js/utils.js" ></script>
<meta name="generator" content="Hexo 4.2.1"></head>


<body>
  <header style="height: 100vh;">
    <nav id="navbar" class="navbar fixed-top  navbar-expand-lg navbar-dark scrolling-navbar">
  <div class="container">
    <a class="navbar-brand"
       href="/michuanblog/">&nbsp;<strong>MiChuan</strong>&nbsp;</a>

    <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse"
            data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <div class="animated-icon"><span></span><span></span><span></span></div>
    </button>

    <!-- Collapsible content -->
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav ml-auto text-center">
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/michuanblog/">
                <i class="iconfont icon-home-fill"></i>
                首页
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/michuanblog/archives/">
                <i class="iconfont icon-archive-fill"></i>
                归档
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/michuanblog/categories/">
                <i class="iconfont icon-category-fill"></i>
                分类
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/michuanblog/tags/">
                <i class="iconfont icon-tags-fill"></i>
                标签
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/michuanblog/about/">
                <i class="iconfont icon-user-fill"></i>
                关于
              </a>
            </li>
          
        
        
          <li class="nav-item" id="search-btn">
            <a class="nav-link" data-toggle="modal" data-target="#modalSearch">&nbsp;&nbsp;<i
                class="iconfont icon-search"></i>&nbsp;&nbsp;</a>
          </li>
        
      </ul>
    </div>
  </div>
</nav>

    <div class="view intro-2" id="background" parallax=true
         style="background: url('/michuanblog/img/default.png') no-repeat center center;
           background-size: cover;">
      <div class="full-bg-img">
        <div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)">
          <div class="container text-center white-text fadeInUp">
            <span class="h2" id="subtitle">
              
            </span>

            
          </div>

          
            <div class="scroll-down-bar">
              <i class="iconfont icon-arrowdown"></i>
            </div>
          
        </div>
      </div>
    </div>
  </header>

  <main>
    
      <div class="container nopadding-md">
        <div class="py-5" id="board"
          style=margin-top:0>
          
          <div class="container">
            <div class="row">
              <div class="col-12 col-md-10 m-auto">
                


  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/09/05/lcof-24/">lcof_24</a>

      <a href="/michuanblog/2020/09/05/lcof-24/" class="index-excerpt">
        
        
          
        
        <div>LCOF24 反转链表题目定义一个函数，输入一个链表的头节点，反转该链表并输出反转后链表的头节点。
解析四个指针操作
代码/**
 * Definition for singly-linked list.
 * struct ListNode &#123;
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x),</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-09-05
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/LeetCode-LCOF/">LeetCode_LCOF</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/LeetCode/">LeetCode</a>
            
              <a href="/michuanblog/tags/C/">C++</a>
            
              <a href="/michuanblog/tags/LCOF/">LCOF</a>
            
              <a href="/michuanblog/tags/%E9%A2%98%E8%A7%A3/">题解</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/09/05/lcof-22/">lcof_22</a>

      <a href="/michuanblog/2020/09/05/lcof-22/" class="index-excerpt">
        
        
          
        
        <div>LCOF22 链表中倒数第k个节点题目输入一个链表，输出该链表中倒数第k个节点，从1开始计数。
解析快慢指针，快指针先走k-1步，再一起走。
代码/**
 * Definition for singly-linked list.
 * struct ListNode &#123;
 *     int val;
 *     ListNode *next;
 *     ListNode(int </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-09-05
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/LeetCode-LCOF/">LeetCode_LCOF</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/LeetCode/">LeetCode</a>
            
              <a href="/michuanblog/tags/C/">C++</a>
            
              <a href="/michuanblog/tags/LCOF/">LCOF</a>
            
              <a href="/michuanblog/tags/%E9%A2%98%E8%A7%A3/">题解</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/09/05/lcof-21/">lcof_21</a>

      <a href="/michuanblog/2020/09/05/lcof-21/" class="index-excerpt">
        
        
          
        
        <div>LCOF21 调整数组顺序使奇数位于偶数前面题目输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数位于数组的前半部分，所有偶数位于数组的后半部分。
解析双指针，前后交换
代码class Solution &#123;
public:
    vector&lt;int&gt; exchange(vector&lt;int&gt;&amp; nums) &#123;
       </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-09-05
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/LeetCode-LCOF/">LeetCode_LCOF</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/LeetCode/">LeetCode</a>
            
              <a href="/michuanblog/tags/C/">C++</a>
            
              <a href="/michuanblog/tags/LCOF/">LCOF</a>
            
              <a href="/michuanblog/tags/%E9%A2%98%E8%A7%A3/">题解</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/09/05/lcof-9/">lcof_9</a>

      <a href="/michuanblog/2020/09/05/lcof-9/" class="index-excerpt">
        
        
          
        
        <div>LCOF09 用两个栈实现队列题目用两个栈实现一个队列。完成push_back, pop_front, front, empty操作
解析
使用两个栈，一个入栈inS，一个出栈outS
元素入队压入inS栈，出队压入outS栈

代码class MyQueue &#123;
public:
    stack&lt;int&gt; inS,outS;
    /** Initialize your</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-09-05
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/LeetCode-LCOF/">LeetCode_LCOF</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/LeetCode/">LeetCode</a>
            
              <a href="/michuanblog/tags/C/">C++</a>
            
              <a href="/michuanblog/tags/LCOF/">LCOF</a>
            
              <a href="/michuanblog/tags/%E9%A2%98%E8%A7%A3/">题解</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/09/05/lcof-4/">lcof_4</a>

      <a href="/michuanblog/2020/09/05/lcof-4/" class="index-excerpt">
        
        
          
        
        <div>lcof04 二维数组中的查找题目在一个 n * m 的二维数组中，每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
解析
每列第一个最小，每行最后一个最大
利用右上角元素进行比较，小于该元素小于该列元素，大于该元素大于该行元素
注意边界

代码class Solution &#123;
publi</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-09-05
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/LeetCode-LCOF/">LeetCode_LCOF</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/LeetCode/">LeetCode</a>
            
              <a href="/michuanblog/tags/C/">C++</a>
            
              <a href="/michuanblog/tags/LCOF/">LCOF</a>
            
              <a href="/michuanblog/tags/%E9%A2%98%E8%A7%A3/">题解</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/09/05/lcci-content/">lcci_content</a>

      <a href="/michuanblog/2020/09/05/lcci-content/" class="index-excerpt">
        
        
          
        
        <div>程序员面试金典——LeetCode版题目类型



章节
类型




1
字符串


2
链表


3
栈与队列


4
树与图


5
位操作


8
递归和动态规划


10
数组


16
智力题


17
难题




加粗    代表题目难度大，没有思路
斜体    代表题目不会在面试出现
简单题-37道



题号
题目
解法




0101
判断字符是否唯一
位运算,set


</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-09-05
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/LeetCode/">LeetCode</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/LeetCode/">LeetCode</a>
            
              <a href="/michuanblog/tags/LCCI/">LCCI</a>
            
              <a href="/michuanblog/tags/C/">C++</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/08/18/LeetCodede-DataBase/">LeetCodede_DataBase</a>

      <a href="/michuanblog/2020/08/18/LeetCodede-DataBase/" class="index-excerpt">
        
        
          
        
        <div>Leetcode DataBase简单题 12道175 组合两个表题目表1: Person
+-------------+---------+
| 列名         | 类型     |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-08-18
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/%E9%9D%A2%E8%AF%95/">面试</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/%E9%9D%A2%E8%AF%95/">面试</a>
            
              <a href="/michuanblog/tags/MySQL/">MySQL</a>
            
              <a href="/michuanblog/tags/LeetCode/">LeetCode</a>
            
              <a href="/michuanblog/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/">数据库</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/08/15/Linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/">Linux常用命令</a>

      <a href="/michuanblog/2020/08/15/Linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/" class="index-excerpt">
        
        
          
        
        <div>文件管理catcat 命令用于连接文件并打印到标准输出设备上。
语法cat [-AbeEnstTuv] [--help] [--version] fileName
参数
-n：由 1 开始对所有输出的行数编号。
-b：和 -n 相似，只不过对于空白行不编号。
-s：当遇到有连续两行以上的空白行，就代换为一行的空白行。
-E : 在每行结束处显示 $。
-T: 将 TAB 字符显示为 ^I。
-A：</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-08-15
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/%E9%9D%A2%E8%AF%95/">面试</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/%E9%9D%A2%E8%AF%95/">面试</a>
            
              <a href="/michuanblog/tags/Linux/">Linux</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/08/14/50%E9%81%93SQL%E6%9F%A5%E8%AF%A2%E8%AF%AD%E5%8F%A5%E7%BB%83%E4%B9%A0/">50道SQL查询语句练习</a>

      <a href="/michuanblog/2020/08/14/50%E9%81%93SQL%E6%9F%A5%E8%AF%A2%E8%AF%AD%E5%8F%A5%E7%BB%83%E4%B9%A0/" class="index-excerpt">
        
        
          
        
        <div>数据表介绍
学生表Student(SId,Sname,Sage,Ssex)SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别

课程表Course(CId,Cname,TId)CId 课程编号,Cname 课程名称,TId 教师编号

教师表Teacher(TId,Tname)TId 教师编号,Tname 教师姓名

成绩表SC(SId,CId,score)SId 学生</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-08-14
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/%E9%9D%A2%E8%AF%95/">面试</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/%E9%9D%A2%E8%AF%95/">面试</a>
            
              <a href="/michuanblog/tags/SQL/">SQL</a>
            
              <a href="/michuanblog/tags/MySQL/">MySQL</a>
            
          </div>
        
      </div>
    </div>
  </div>

  <div class="row mx-auto index-card">
    
    
    <div class="col-12 col-md-12 mx-auto index-info">
      <a class="index-header" href="/michuanblog/2020/08/13/%E9%9D%A2%E8%AF%95%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/">面试基础知识</a>

      <a href="/michuanblog/2020/08/13/%E9%9D%A2%E8%AF%95%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/" class="index-excerpt">
        
        
          
        
        <div>面试考点
操作系统死锁规范定义如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件，那么，该进程集合就是死锁的。
资源死锁的条件
互斥
占用并等待
不可抢占
环路等待

解决死锁
死锁检测和恢复
死锁避免：银行家算法
死锁预防：破坏四个条件

进程定义在进程模型中，计算机上所有可运行的软件，通常也包括操作系统，被组织成若干顺序进程。一个进程就是一个正在执行程序的实例，包括</div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>&nbsp;2020-08-13
          </div>
        
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-category"></i>
            
              <a href="/michuanblog/categories/%E9%9D%A2%E8%AF%95/">面试</a>
            
          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/michuanblog/tags/%E9%9D%A2%E8%AF%95/">面试</a>
            
              <a href="/michuanblog/tags/MySQL/">MySQL</a>
            
              <a href="/michuanblog/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/">数据库</a>
            
              <a href="/michuanblog/tags/C/">C++</a>
            
              <a href="/michuanblog/tags/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a>
            
              <a href="/michuanblog/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/">计算机网络</a>
            
          </div>
        
      </div>
    </div>
  </div>



  <nav aria-label="navigation">
    <span class="pagination" id="pagination">
      <a class="extend prev" rel="prev" href="/michuanblog/page/2/"><i class="iconfont icon-arrowleft"></i></a><a class="page-number" href="/michuanblog/">1</a><a class="page-number" href="/michuanblog/page/2/">2</a><span class="page-number current">3</span><a class="page-number" href="/michuanblog/page/4/">4</a><a class="page-number" href="/michuanblog/page/5/">5</a><a class="extend next" rel="next" href="/michuanblog/page/4/"><i class="iconfont icon-arrowright"></i></a>
    </span>
  </nav>
  
  <script>
    for (ele of document.getElementById("pagination").getElementsByTagName("a")) {
      ele.href += '#board';
    }
  </script>



              </div>
            </div>
          </div>
        </div>
      </div>
    
  </main>

  
    <a id="scroll-top-button" href="#" role="button">
      <i class="iconfont icon-arrowup" aria-hidden="true"></i>
    </a>
  

  
    <div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel"
     aria-hidden="true">
  <div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
    <div class="modal-content">
      <div class="modal-header text-center">
        <h4 class="modal-title w-100 font-weight-bold">搜索</h4>
        <button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body mx-3">
        <div class="md-form mb-5">
          <input type="text" id="local-search-input" class="form-control validate">
          <label data-error="x" data-success="v"
                 for="local-search-input">关键词</label>
        </div>
        <div class="list-group" id="local-search-result"></div>
      </div>
    </div>
  </div>
</div>
  

  
    <!-- APlayer 音乐播放器 -->
    <div id="aplayer"></div>
    <script defer src="https://cdn.staticfile.org/aplayer/1.10.1/APlayer.min.js" ></script>
<link  rel="stylesheet" href="https://cdn.staticfile.org/aplayer/1.10.1/APlayer.min.css" />
<script type="text/javascript">
  var oldLoadAp = window.onload;
  window.onload = function () {
    oldLoadAp && oldLoadAp();

    new APlayer({
      container: document.getElementById('aplayer'),
      fixed: true,
      autoplay: 'false' === 'true',
      loop: 'all',
      order: 'random',
      theme: '#b7daff',
      preload: 'none',
      audio: [{"name":"黄杨扁担","artist":"鹿女王","url":"http://mi_chuan.gitee.io/blog/黄杨扁担.mp3","cover":"http://mi_chuan.gitee.io/blog/黄杨扁担.png"},{"name":"隔世信","artist":"以冬","url":"http://mi_chuan.gitee.io/blog/隔世信.mp3","cover":"http://mi_chuan.gitee.io/blog/隔世信.jpg"}]
    });
  }
</script>

  

  

  <footer class="mt-5">
  <div class="text-center py-3">
    <div>
      <a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a>
      <i class="iconfont icon-love"></i>
      <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener">
        <span>Fluid</span></a>
    </div>
    

    

    
  </div>
</footer>

<!-- SCRIPTS -->
<script  src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js" ></script>
<script  src="https://cdn.staticfile.org/twitter-bootstrap/4.4.1/js/bootstrap.min.js" ></script>
<script  src="/michuanblog/js/debouncer.js" ></script>
<script  src="/michuanblog/js/main.js" ></script>

<!-- Plugins -->


  
    <script  src="/michuanblog/js/lazyload.js" ></script>
  



  <script defer src="https://cdn.staticfile.org/clipboard.js/2.0.6/clipboard.min.js" ></script>
  <script  src="/michuanblog/js/clipboard-use.js" ></script>









  <script  src="https://cdn.staticfile.org/typed.js/2.0.11/typed.min.js" ></script>
  <script>
    var typed = new Typed('#subtitle', {
      strings: [
        '  ',
        "那时世间有硕大的月亮。我看着你，看坏了眼睛&nbsp;",
      ],
      cursorChar: "_",
      typeSpeed: 70,
      loop: false,
    });
    typed.stop();
    $(document).ready(function () {
      $(".typed-cursor").addClass("h2");
      typed.start();
    });
  </script>





  <script  src="/michuanblog/js/local-search.js" ></script>
  <script>
    var path = "/michuanblog/local-search.xml";
    var inputArea = document.querySelector("#local-search-input");
    inputArea.onclick = function () {
      searchFunc(path, 'local-search-input', 'local-search-result');
      this.onclick = null
    }
  </script>









  
  
    <script>
      !function (e, t, a) {
        function r() {
          for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x + "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e].scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
          requestAnimationFrame(r)
        }

        function n() {
          var t = "function" == typeof e.onclick && e.onclick;
          e.onclick = function (e) {
            t && t(), o(e)
          }
        }

        function o(e) {
          var a = t.createElement("div");
          a.className = "heart", s.push({
            el: a,
            x: e.clientX - 5,
            y: e.clientY - 5,
            scale: 1,
            alpha: 1,
            color: c()
          }), t.body.appendChild(a)
        }

        function i(e) {
          var a = t.createElement("style");
          a.type = "text/css";
          try {
            a.appendChild(t.createTextNode(e))
          } catch (t) {
            a.styleSheet.cssText = e
          }
          t.getElementsByTagName("head")[0].appendChild(a)
        }

        function c() {
          return "rgb(" + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + ")"
        }

        var s = [];
        e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function (e) {
          setTimeout(e, 1e3 / 60)
        }, i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"), n(), r()
      }(window, document);
    </script>
  














<script src="/michuanblog/live2dw/lib/L2Dwidget.min.js?094cbace49a39548bed64abff5988b05"></script><script>L2Dwidget.init({"log":false,"pluginJsPath":"lib/","pluginModelPath":"assets/","pluginRootPath":"live2dw/","tagMode":false});</script></body>
</html>
